﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SyncList.Business.ValueObject;

namespace SyncList.UserInterface
{

    /// <summary>
    /// Permet d'invoquer une fenêtre commune depuis n'importe quel projet
    /// </summary>
    public static class WindowsAccessor
    {

        /// <summary>
        /// Ouvrir la fenêtre des réglages généraux de l'application
        /// </summary>
        /// <param name="settings">Définition des paramètres de l'application</param>
        public static void OpenApplicationSettings(SyncListSettings settings)
        {

            // - Lire les paramètres
            if(settings == null)
                settings = Business.ServiceAccessor.RegistryService.Read(); // - Pas de settings passés en paramètre : lecture
            //else
            //    Business.ServiceAccessor.RegistryService.Read(settings); // - Settings passés : mise à jour (pour le Binding)

            // - Ouvrir la saisie des paramètres. Le Binding mettra à jour l'objet
            WinSyncListSettings win = new WinSyncListSettings();
            win.DataContext = settings;
            win.ShowDialog();

            // - Ecrire les paramètres
            Business.ServiceAccessor.RegistryService.Write(settings);

        }


        /// <summary>
        /// Demande le choix d'un dossier
        /// </summary>
        /// <returns></returns>
        public static string SelectFolder()
        {
            WinAddFolder win = new WinAddFolder();            
            win.ShowDialog();
            string path = win.SelectedValue;
            return (path);
        }


    }


}
